package com.itheima.test7;

import java.io.File;

/**
 * @Author:gy
 * @Date: 2025/08/27 17:49
 * @Description:
 */
public class Demo1 {
    public static void main(String[] args) {
        //文件夹只能删除空文件夹  删除一个多级文件夹
        /*
              递归  方法调自己
              方法: 1.接收一个File对象  删除这个File
                   2.遍历这个File,获取下面的每个文件和文件夹
                   3.判断他是文件还是文件夹
                   4.如果是文件,直接删除  如果是文件夹 (出口  总会到底)有递归  再次调用删除这个File方法
                   5.最后等文件夹被删空了  再将自己删除

        * */
        File file = new File("D:\\班级\\93期\\day09-Stream&File\\a");
        deleteDir(file);
    }

    private static void deleteDir(File file) {
        if(file==null || !file.exists() || !file.isDirectory()){
            System.out.println("您输入的目录不合法");
            return;
        }
        //遍历这个File,获取下面的每个文件和文件夹
        File[] files = file.listFiles();
        //遍历
        for (File file1 : files) {
            //file1每一个子文件
            if(file1.isFile()){
                //如果是文件  直接删除
                file1.delete();
            }else{
                //如果是文件夹  再次调用删除文件夹的方法
                deleteDir(file1);
            }
        }
        //子文件都删除完了  将自己删除
        file.delete();
    }
}
